Skip to content

[Server::Shutdown] Fix the matter server shutdown sequence, introduced few APIs to do *ClusterServerShutdown so that we can reinitialise the matter server without reboot on embedded platforms. #38515

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

jadhavrohit924
Copy link
Contributor

@jadhavrohit924 jadhavrohit924 commented Apr 22, 2025

Problem

  • Fixes a part of We should have data model shutdown as a part of matter shutdown. #38092.
  • There were multiple crash when we try to Shutdown the Matter server and Re-initialise it without actually having a power cycle reason for that was we have VerifyOrDie checks at the time of emberAfClusterInitCallbacks for almost every cluster.
  • Missing SetDataModelProvider(nullptr) and cluster shutdown callbacks were not being called at all.
  • We have check for active IM read handlers in the SetDataModelProvider API and the API to close active read handlers was private for unit testing but it should happen before we SetDataModelProvider(nullptr) in the Server::Shutdown().
  • In Scenes cluster shutdown callback we were removing the scene endpoint that leads to loss of persistent scene storage but scenes should be persistent.

Changes

  • Adds ShutdownDataModelForTesting which consumes Matter*PluginServerShutdownCallback to Unregister the AAI and CHI from the cluster itself and also remove the registered fabric delegate and emberAf*ClusterShutdownCallback to delete the cluster instance/delegate pointers so that we can reinit it on next server initialisation sequence and device will not crash on VerifyOrDie.
  • Added SetDataModelProvider(nullptr) in the Server::Shutdown() so that actual cluster shutdown APIs being called.
  • Expose ShutdownActiveReads() publicly and integrate into standard shutdown sequence.
  • Removed the RemoveEndpoint() from scenes cluster shutdown callback so that we can have persistent scenes across devices power cycle.

Testing

  • Locally tested Server::Shutdown API by having multiple Shutdown and Init cycles in the application using ESP32 to verify device do not crash at the time of initialisations due to any reason.
  • There are some integrated tests (TestBasicInformation, TestGeneralCommissioning, TestIcdManagementCluster.yaml, Test_TC_ACL_2_10, Test_TC_BINFO_2_2, Test_TC_DGETH_2_1, Test_TC_OO_2_4, Test_TC_S_2_2, etc) which does reboot on device and test commands and attributes after the reboot, green CI verifies that those tests were successful.

Copy link

PR #38515: Size comparison from 37948e2 to 7028444

Increases above 0.2%:

platform target config section 37948e2 7028444 change % change
stm32 light STM32WB5MM-DK FLASH 464440 465792 1352 0.3
Full report (1 build for stm32)
platform target config section 37948e2 7028444 change % change
stm32 light STM32WB5MM-DK FLASH 464440 465792 1352 0.3
RAM 141504 141504 0 0.0

Copy link

github-actions bot commented Apr 24, 2025

PR #38515: Size comparison from 37948e2 to 6df1418

Increases above 0.2%:

platform target config section 37948e2 6df1418 change % change
stm32 light STM32WB5MM-DK FLASH 464440 465792 1352 0.3
telink light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 685158 686708 1550 0.2
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 713608 715158 1550 0.2
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 711154 712704 1550 0.2
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 605628 607096 1468 0.2
Full report (24 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, qpg, stm32, telink)
platform target config section 37948e2 6df1418 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1100446 1102196 1750 0.2
RAM 94866 94866 0 0.0
bl702 lighting-app bl702+eth FLASH 655368 656910 1542 0.2
RAM 33533 33533 0 0.0
bl702+wifi FLASH 832618 834160 1542 0.2
RAM 22257 22257 0 0.0
bl706+mfd+rpc+littlefs FLASH 1065142 1066940 1798 0.2
RAM 32181 32181 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896030 897848 1818 0.2
RAM 26920 26920 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 978818 980360 1542 0.2
RAM 24668 24668 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820268 821548 1280 0.2
RAM 120304 120304 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 829228 830516 1288 0.2
RAM 125400 125400 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 776272 777448 1176 0.2
RAM 113772 113772 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 760572 761636 1064 0.1
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 544194 545394 1200 0.2
RAM 205160 205160 0 0.0
lock CC3235SF_LAUNCHXL FLASH 578182 579622 1440 0.2
RAM 205408 205408 0 0.0
qpg lighting-app qpg6105+debug FLASH 667244 668500 1256 0.2
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 625520 626832 1312 0.2
RAM 99832 99832 0 0.0
stm32 light STM32WB5MM-DK FLASH 464440 465792 1352 0.3
RAM 141504 141504 0 0.0
telink bridge-app tl7218x FLASH 674472 675574 1102 0.2
697590 698692 1102 0.2
RAM 90728 90728 0 0.0
101876 101876 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 779406 780874 1468 0.2
RAM 50136 50136 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 769666 771134 1468 0.2
RAM 40436 40436 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 758124 759592 1468 0.2
786042 787510 1468 0.2
RAM 97556 97556 0 0.0
109324 109324 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 685158 686708 1550 0.2
707268 708818 1550 0.2
RAM 51604 51604 0 0.0
62636 62636 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 713608 715158 1550 0.2
743450 745000 1550 0.2
RAM 73424 73424 0 0.0
85824 85824 0 0.0
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 711154 712704 1550 0.2
RAM 37060 37060 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 605628 607096 1468 0.2
605170 606638 1468 0.2
RAM 138656 138656 0 0.0
148720 148720 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 793126 794598 1472 0.2
820656 822128 1472 0.2
RAM 96412 96412 0 0.0
107584 107584 0 0.0

Copy link

github-actions bot commented Apr 25, 2025

PR #38515: Size comparison from 37948e2 to 720ea1c

Increases above 0.2%:

platform target config section 37948e2 720ea1c change % change
esp32 all-clusters-app c3devkit FLASH 1804066 1808466 4400 0.2
m5stack FLASH 1769422 1774758 5336 0.3
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 919416 922376 2960 0.3
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 855940 858096 2156 0.3
stm32 light STM32WB5MM-DK FLASH 464440 465792 1352 0.3
telink lighting-app-ota-factory-data tlsr9118bdk40d FLASH 605170 607096 1926 0.3
tizen all-clusters-app arm FLASH 1806904 1817140 10236 0.6
Full report (55 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 37948e2 720ea1c change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1100446 1102196 1750 0.2
RAM 94866 94866 0 0.0
bl702 lighting-app bl702+eth FLASH 655368 656910 1542 0.2
RAM 33533 33533 0 0.0
bl702+wifi FLASH 832618 834160 1542 0.2
RAM 22257 22257 0 0.0
bl706+mfd+rpc+littlefs FLASH 1065142 1066940 1798 0.2
RAM 32181 32181 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896030 897848 1818 0.2
RAM 26920 26920 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 978818 980360 1542 0.2
RAM 24668 24668 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820268 821548 1280 0.2
RAM 120304 120304 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 829228 830516 1288 0.2
RAM 125400 125400 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 776272 777448 1176 0.2
RAM 113772 113772 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 760572 761636 1064 0.1
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 544194 545394 1200 0.2
RAM 205160 205160 0 0.0
lock CC3235SF_LAUNCHXL FLASH 578182 579622 1440 0.2
RAM 205408 205408 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 662237 663613 1376 0.2
RAM 77276 77276 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 682097 683465 1368 0.2
RAM 79916 79916 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 682097 683465 1368 0.2
RAM 79916 79916 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 639021 640405 1384 0.2
RAM 72344 72344 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 622317 623773 1456 0.2
RAM 73524 73524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 641953 643417 1464 0.2
RAM 76068 76068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 641953 643417 1464 0.2
RAM 76068 76068 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 641765 643213 1448 0.2
RAM 76524 76524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 661481 662937 1456 0.2
RAM 79068 79068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 661481 662937 1456 0.2
RAM 79068 79068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618161 619633 1472 0.2
RAM 70612 70612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 638021 639485 1464 0.2
RAM 73252 73252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 638021 639485 1464 0.2
RAM 73252 73252 0 0.0
esp32 all-clusters-app c3devkit DRAM 103424 103424 0 0.0
FLASH 1804066 1808466 4400 0.2
IRAM 83846 83846 0 0.0
m5stack DRAM 121996 121996 0 0.0
FLASH 1769422 1774758 5336 0.3
IRAM 117043 117043 0 0.0
linux chip-tool-ipv6only arm64 unknown 39712 39712 0 0.0
FLASH 12354848 12356256 1408 0.0
RAM 682808 683168 360 0.1
thermostat-no-ble arm64 unknown 9568 9568 0 0.0
FLASH 4212304 4216384 4080 0.1
RAM 231048 231056 8 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 919416 922376 2960 0.3
RAM 167485 167485 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 911500 912720 1220 0.1
RAM 145729 145729 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 855940 858096 2156 0.3
RAM 141239 141239 0 0.0
nxp contact k32w0+release FLASH 590568 591608 1040 0.2
RAM 72852 72852 0 0.0
mcxw71+release FLASH 622624 623760 1136 0.2
RAM 63188 63188 0 0.0
light k32w0+release FLASH 616404 617476 1072 0.2
RAM 72148 72148 0 0.0
k32w1+release FLASH 706912 708056 1144 0.2
RAM 72036 72036 0 0.0
lock mcxw71+release FLASH 771920 773192 1272 0.2
RAM 67604 67604 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1665364 1669180 3816 0.2
RAM 212368 212368 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1569612 1572228 2616 0.2
RAM 208560 208560 0 0.0
light cy8ckit_062s2_43012 FLASH 1445148 1446604 1456 0.1
RAM 197328 197328 0 0.0
lock cy8ckit_062s2_43012 FLASH 1473932 1475460 1528 0.1
RAM 224992 224992 0 0.0
qpg lighting-app qpg6105+debug FLASH 667244 668500 1256 0.2
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 625520 626832 1312 0.2
RAM 99832 99832 0 0.0
stm32 light STM32WB5MM-DK FLASH 464440 465792 1352 0.3
RAM 141504 141504 0 0.0
telink bridge-app tl7218x FLASH 697590 675574 -22016 -3.2
RAM 101876 90728 -11148 -10.9
light-app-ota-compress-lzma-factory-data tl3218x FLASH 779406 780874 1468 0.2
RAM 50136 50136 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 769666 771134 1468 0.2
RAM 40436 40436 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 786042 759592 -26450 -3.4
RAM 109324 97556 -11768 -10.8
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 707268 686708 -20560 -2.9
RAM 62636 51604 -11032 -17.6
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 743450 715158 -28292 -3.8
RAM 85824 73424 -12400 -14.4
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 711154 712704 1550 0.2
RAM 37060 37060 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 605170 607096 1926 0.3
RAM 148720 138656 -10064 -6.8
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 820656 794598 -26058 -3.2
RAM 107584 96412 -11172 -10.4
tizen all-clusters-app arm unknown 5168 5168 0 0.0
FLASH 1806904 1817140 10236 0.6
RAM 94576 94580 4 0.0
chip-tool-ubsan arm unknown 20280 20280 0 0.0
FLASH 20391390 20394406 3016 0.0
RAM 8884800 8886368 1568 0.0

Copy link

github-actions bot commented Apr 25, 2025

PR #38515: Size comparison from 36c5265 to 1bcb1ea

Increases above 0.2%:

platform target config section 36c5265 1bcb1ea change % change
esp32 all-clusters-app m5stack FLASH 1769422 1774758 5336 0.3
linux shell debug FLASH 3066076 3076540 10464 0.3
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 919416 922376 2960 0.3
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 855940 858096 2156 0.3
stm32 light STM32WB5MM-DK FLASH 464440 465792 1352 0.3
telink lighting-app-ota-factory-data tlsr9118bdk40d FLASH 605170 607096 1926 0.3
tizen all-clusters-app arm FLASH 1806904 1817140 10236 0.6
Full report (75 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 36c5265 1bcb1ea change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1100446 1102196 1750 0.2
RAM 94866 94866 0 0.0
bl702 lighting-app bl702+eth FLASH 655368 656910 1542 0.2
RAM 33533 33533 0 0.0
bl702+wifi FLASH 832618 834160 1542 0.2
RAM 22257 22257 0 0.0
bl706+mfd+rpc+littlefs FLASH 1065142 1066940 1798 0.2
RAM 32181 32181 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896030 897848 1818 0.2
RAM 26920 26920 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 978818 980360 1542 0.2
RAM 24668 24668 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820268 821548 1280 0.2
RAM 120304 120304 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 829228 830516 1288 0.2
RAM 125400 125400 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 776272 777448 1176 0.2
RAM 113772 113772 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 760572 761636 1064 0.1
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 544194 545394 1200 0.2
RAM 205160 205160 0 0.0
lock CC3235SF_LAUNCHXL FLASH 578182 579622 1440 0.2
RAM 205408 205408 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 662237 663613 1376 0.2
RAM 77276 77276 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 682097 683465 1368 0.2
RAM 79916 79916 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 682097 683465 1368 0.2
RAM 79916 79916 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 639021 640405 1384 0.2
RAM 72344 72344 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 622317 623773 1456 0.2
RAM 73524 73524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 641953 643417 1464 0.2
RAM 76068 76068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 641953 643417 1464 0.2
RAM 76068 76068 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 641765 643213 1448 0.2
RAM 76524 76524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 661481 662937 1456 0.2
RAM 79068 79068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 661481 662937 1456 0.2
RAM 79068 79068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618161 619633 1472 0.2
RAM 70612 70612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 638021 639485 1464 0.2
RAM 73252 73252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 638021 639485 1464 0.2
RAM 73252 73252 0 0.0
efr32 lock-app BRD4187C FLASH 943544 944960 1416 0.2
RAM 132040 132040 0 0.0
BRD4338a FLASH 737720 739248 1528 0.2
RAM 206932 206932 0 0.0
window-app BRD4187C FLASH 1035488 1036936 1448 0.1
RAM 128048 128048 0 0.0
esp32 all-clusters-app c3devkit DRAM 103424 103424 0 0.0
FLASH 1804066 1808466 4400 0.2
IRAM 83846 83846 0 0.0
m5stack DRAM 121996 121996 0 0.0
FLASH 1769422 1774758 5336 0.3
IRAM 117043 117043 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2757013 2760803 3790 0.1
RAM 114360 114360 0 0.0
all-clusters-app debug unknown 5656 5656 0 0.0
FLASH 6304952 6317268 12316 0.2
RAM 532368 532368 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5429898 5437104 7206 0.1
RAM 224624 224656 32 0.0
bridge-app debug unknown 5544 5544 0 0.0
FLASH 4726974 4730880 3906 0.1
RAM 202976 202976 0 0.0
camera-app debug unknown 8856 8856 0 0.0
FLASH 6804763 6808651 3888 0.1
RAM 225488 225488 0 0.0
camera-controller debug unknown 9240 9240 0 0.0
FLASH 14051355 14051435 80 0.0
RAM 649880 649880 0 0.0
chip-tool debug unknown 6256 6256 0 0.0
FLASH 14321871 14322957 1086 0.0
RAM 636864 636864 0 0.0
chip-tool-ipv6only arm64 unknown 39712 39712 0 0.0
FLASH 12355040 12356256 1216 0.0
RAM 683160 683168 8 0.0
fabric-admin debug unknown 5936 5936 0 0.0
FLASH 12429283 12430369 1086 0.0
RAM 636224 636224 0 0.0
fabric-bridge-app debug unknown 4800 4800 0 0.0
FLASH 4557662 4560528 2866 0.1
RAM 190256 190256 0 0.0
fabric-sync debug unknown 5056 5056 0 0.0
FLASH 5698373 5701013 2640 0.0
RAM 486600 486600 0 0.0
lighting-app debug+rpc+ui unknown 6264 6264 0 0.0
FLASH 5627729 5631569 3840 0.1
RAM 207240 207272 32 0.0
lock-app debug unknown 5496 5496 0 0.0
FLASH 4795470 4799430 3960 0.1
RAM 194368 194368 0 0.0
ota-provider-app debug unknown 4840 4840 0 0.0
FLASH 4415188 4418062 2874 0.1
RAM 183088 183104 16 0.0
ota-requestor-app debug unknown 4792 4792 0 0.0
FLASH 4547780 4550926 3146 0.1
RAM 187560 187576 16 0.0
shell debug unknown 4272 4272 0 0.0
FLASH 3066076 3076540 10464 0.3
RAM 147920 147920 0 0.0
thermostat-no-ble arm64 unknown 9568 9568 0 0.0
FLASH 4212304 4216384 4080 0.1
RAM 231048 231056 8 0.0
tv-app debug unknown 5832 5832 0 0.0
FLASH 6045621 6050773 5152 0.1
RAM 610016 610016 0 0.0
tv-casting-app debug unknown 5416 5416 0 0.0
FLASH 12487581 12492029 4448 0.0
RAM 754928 754944 16 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 919416 922376 2960 0.3
RAM 167485 167485 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 911500 912720 1220 0.1
RAM 145729 145729 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 855940 858096 2156 0.3
RAM 141239 141239 0 0.0
nxp contact k32w0+release FLASH 590568 591608 1040 0.2
RAM 72852 72852 0 0.0
mcxw71+release FLASH 622624 623760 1136 0.2
RAM 63188 63188 0 0.0
light k32w0+release FLASH 616404 617476 1072 0.2
RAM 72148 72148 0 0.0
k32w1+release FLASH 706912 708056 1144 0.2
RAM 72036 72036 0 0.0
lock mcxw71+release FLASH 771920 773192 1272 0.2
RAM 67604 67604 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1665364 1669180 3816 0.2
RAM 212368 212368 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1569612 1572228 2616 0.2
RAM 208560 208560 0 0.0
light cy8ckit_062s2_43012 FLASH 1445148 1446604 1456 0.1
RAM 197328 197328 0 0.0
lock cy8ckit_062s2_43012 FLASH 1473932 1475460 1528 0.1
RAM 224992 224992 0 0.0
qpg lighting-app qpg6105+debug FLASH 667244 668500 1256 0.2
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 625520 626832 1312 0.2
RAM 99832 99832 0 0.0
stm32 light STM32WB5MM-DK FLASH 464440 465792 1352 0.3
RAM 141504 141504 0 0.0
telink bridge-app tl7218x FLASH 697590 675574 -22016 -3.2
RAM 101876 90728 -11148 -10.9
light-app-ota-compress-lzma-factory-data tl3218x FLASH 779406 780874 1468 0.2
RAM 50136 50136 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 769666 771134 1468 0.2
RAM 40436 40436 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 786042 759592 -26450 -3.4
RAM 109324 97556 -11768 -10.8
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 707268 686708 -20560 -2.9
RAM 62636 51604 -11032 -17.6
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 743450 715158 -28292 -3.8
RAM 85824 73424 -12400 -14.4
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 711154 712704 1550 0.2
RAM 37060 37060 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 605170 607096 1926 0.3
RAM 148720 138656 -10064 -6.8
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 820656 794598 -26058 -3.2
RAM 107584 96412 -11172 -10.4
tizen all-clusters-app arm unknown 5168 5168 0 0.0
FLASH 1806904 1817140 10236 0.6
RAM 94576 94580 4 0.0
chip-tool-ubsan arm unknown 20280 20280 0 0.0
FLASH 20391606 20394406 2800 0.0
RAM 8885064 8886368 1304 0.0

Copy link

github-actions bot commented Apr 25, 2025

PR #38515: Size comparison from 4e8a75c to 291897f

Increases above 0.2%:

platform target config section 4e8a75c 291897f change % change
esp32 all-clusters-app m5stack FLASH 1769294 1774630 5336 0.3
linux shell debug FLASH 3066076 3076540 10464 0.3
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 919336 922296 2960 0.3
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 855940 858096 2156 0.3
stm32 light STM32WB5MM-DK FLASH 464440 465792 1352 0.3
tizen all-clusters-app arm FLASH 1806896 1817132 10236 0.6
Full report (75 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 4e8a75c 291897f change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1100446 1102196 1750 0.2
RAM 94866 94866 0 0.0
bl702 lighting-app bl702+eth FLASH 655368 656910 1542 0.2
RAM 33533 33533 0 0.0
bl702+wifi FLASH 832618 834160 1542 0.2
RAM 22257 22257 0 0.0
bl706+mfd+rpc+littlefs FLASH 1065142 1066940 1798 0.2
RAM 32181 32181 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896030 897848 1818 0.2
RAM 26920 26920 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 978818 980360 1542 0.2
RAM 24668 24668 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820268 821548 1280 0.2
RAM 120304 120304 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 829228 830516 1288 0.2
RAM 125400 125400 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 776272 777448 1176 0.2
RAM 113772 113772 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 760572 761636 1064 0.1
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 544194 545394 1200 0.2
RAM 205160 205160 0 0.0
lock CC3235SF_LAUNCHXL FLASH 578182 579622 1440 0.2
RAM 205408 205408 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 662237 663613 1376 0.2
RAM 77276 77276 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 682097 683465 1368 0.2
RAM 79916 79916 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 682097 683465 1368 0.2
RAM 79916 79916 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 639021 640405 1384 0.2
RAM 72344 72344 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 622317 623773 1456 0.2
RAM 73524 73524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 641953 643417 1464 0.2
RAM 76068 76068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 641953 643417 1464 0.2
RAM 76068 76068 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 641765 643213 1448 0.2
RAM 76524 76524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 661481 662937 1456 0.2
RAM 79068 79068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 661481 662937 1456 0.2
RAM 79068 79068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618161 619633 1472 0.2
RAM 70612 70612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 638021 639485 1464 0.2
RAM 73252 73252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 638021 639485 1464 0.2
RAM 73252 73252 0 0.0
efr32 lock-app BRD4187C FLASH 943544 944960 1416 0.2
RAM 132040 132040 0 0.0
BRD4338a FLASH 737720 739248 1528 0.2
RAM 206932 206932 0 0.0
window-app BRD4187C FLASH 1035488 1036936 1448 0.1
RAM 128048 128048 0 0.0
esp32 all-clusters-app c3devkit DRAM 103424 103424 0 0.0
FLASH 1803986 1808386 4400 0.2
IRAM 83846 83846 0 0.0
m5stack DRAM 121996 121996 0 0.0
FLASH 1769294 1774630 5336 0.3
IRAM 117043 117043 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2757013 2760803 3790 0.1
RAM 114360 114360 0 0.0
all-clusters-app debug unknown 5656 5656 0 0.0
FLASH 6304852 6317170 12318 0.2
RAM 531760 531760 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5429898 5437104 7206 0.1
RAM 224624 224656 32 0.0
bridge-app debug unknown 5544 5544 0 0.0
FLASH 4726974 4730880 3906 0.1
RAM 202976 202976 0 0.0
camera-app debug unknown 8856 8856 0 0.0
FLASH 6804763 6808651 3888 0.1
RAM 225488 225488 0 0.0
camera-controller debug unknown 9240 9240 0 0.0
FLASH 14041851 14041931 80 0.0
RAM 648920 648920 0 0.0
chip-tool debug unknown 6256 6256 0 0.0
FLASH 14310425 14311511 1086 0.0
RAM 635968 635968 0 0.0
chip-tool-ipv6only arm64 unknown 39616 39616 0 0.0
FLASH 12346672 12347888 1216 0.0
RAM 682264 682272 8 0.0
fabric-admin debug unknown 5936 5936 0 0.0
FLASH 12419773 12420859 1086 0.0
RAM 635328 635328 0 0.0
fabric-bridge-app debug unknown 4800 4800 0 0.0
FLASH 4557662 4560528 2866 0.1
RAM 190256 190256 0 0.0
fabric-sync debug unknown 5056 5056 0 0.0
FLASH 5698373 5701013 2640 0.0
RAM 486088 486088 0 0.0
lighting-app debug+rpc+ui unknown 6264 6264 0 0.0
FLASH 5627729 5631569 3840 0.1
RAM 207240 207272 32 0.0
lock-app debug unknown 5496 5496 0 0.0
FLASH 4795470 4799430 3960 0.1
RAM 194368 194368 0 0.0
ota-provider-app debug unknown 4840 4840 0 0.0
FLASH 4415188 4418062 2874 0.1
RAM 183088 183104 16 0.0
ota-requestor-app debug unknown 4792 4792 0 0.0
FLASH 4547780 4550926 3146 0.1
RAM 187560 187576 16 0.0
shell debug unknown 4272 4272 0 0.0
FLASH 3066076 3076540 10464 0.3
RAM 147824 147824 0 0.0
thermostat-no-ble arm64 unknown 9568 9568 0 0.0
FLASH 4212304 4216384 4080 0.1
RAM 231048 231056 8 0.0
tv-app debug unknown 5832 5832 0 0.0
FLASH 6045621 6050773 5152 0.1
RAM 609504 609504 0 0.0
tv-casting-app debug unknown 5416 5416 0 0.0
FLASH 12475741 12480205 4464 0.0
RAM 753872 753888 16 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 919336 922296 2960 0.3
RAM 167487 167487 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 911420 912640 1220 0.1
RAM 145731 145731 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 855940 858096 2156 0.3
RAM 141239 141239 0 0.0
nxp contact k32w0+release FLASH 590568 591608 1040 0.2
RAM 72852 72852 0 0.0
mcxw71+release FLASH 622624 623760 1136 0.2
RAM 63188 63188 0 0.0
light k32w0+release FLASH 616404 617476 1072 0.2
RAM 72148 72148 0 0.0
k32w1+release FLASH 706912 708056 1144 0.2
RAM 72036 72036 0 0.0
lock mcxw71+release FLASH 771920 773192 1272 0.2
RAM 67604 67604 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1665284 1669100 3816 0.2
RAM 212368 212368 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1569612 1572228 2616 0.2
RAM 208560 208560 0 0.0
light cy8ckit_062s2_43012 FLASH 1445148 1446604 1456 0.1
RAM 197328 197328 0 0.0
lock cy8ckit_062s2_43012 FLASH 1473932 1475460 1528 0.1
RAM 224992 224992 0 0.0
qpg lighting-app qpg6105+debug FLASH 667244 668500 1256 0.2
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 625520 626832 1312 0.2
RAM 99832 99832 0 0.0
stm32 light STM32WB5MM-DK FLASH 464440 465792 1352 0.3
RAM 141504 141504 0 0.0
telink bridge-app tl7218x FLASH 674472 675574 1102 0.2
697590 698692 1102 0.2
RAM 90728 90728 0 0.0
101876 101876 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 779406 780874 1468 0.2
RAM 50136 50136 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 769666 771134 1468 0.2
RAM 40436 40436 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 758124 759592 1468 0.2
786042 787510 1468 0.2
RAM 97556 97556 0 0.0
109324 109324 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 685158 686708 1550 0.2
707268 708818 1550 0.2
RAM 51604 51604 0 0.0
62636 62636 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 713608 715158 1550 0.2
743450 745000 1550 0.2
RAM 73424 73424 0 0.0
85824 85824 0 0.0
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 711154 712704 1550 0.2
RAM 37060 37060 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 605628 607096 1468 0.2
605170 606638 1468 0.2
RAM 138656 138656 0 0.0
148720 148720 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 793126 794598 1472 0.2
820656 822128 1472 0.2
RAM 96412 96412 0 0.0
107584 107584 0 0.0
tizen all-clusters-app arm unknown 5168 5168 0 0.0
FLASH 1806896 1817132 10236 0.6
RAM 94504 94508 4 0.0
chip-tool-ubsan arm unknown 20232 20232 0 0.0
FLASH 20374238 20377038 2800 0.0
RAM 8878184 8879488 1304 0.0

@jadhavrohit924 jadhavrohit924 requested a review from a team as a code owner April 29, 2025 06:00
@jadhavrohit924 jadhavrohit924 force-pushed the fix/server/shutdown branch 2 times, most recently from b5a34f1 to 22b18df Compare April 29, 2025 06:27
Copy link

github-actions bot commented Apr 29, 2025

PR #38515: Size comparison from 7460361 to 22b18df

Increases above 0.2%:

platform target config section 7460361 22b18df change % change
cc32xx lock CC3235SF_LAUNCHXL FLASH 578482 579962 1480 0.3
esp32 all-clusters-app m5stack FLASH 1769462 1774838 5376 0.3
linux shell debug FLASH 3069708 3080252 10544 0.3
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 919692 922676 2984 0.3
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 856300 858476 2176 0.3
stm32 light STM32WB5MM-DK FLASH 464460 465812 1352 0.3
telink lighting-app-ota-factory-data tlsr9118bdk40d FLASH 605150 607076 1926 0.3
tizen all-clusters-app arm FLASH 1808628 1818880 10252 0.6
Full report (75 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 7460361 22b18df change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1100472 1102214 1742 0.2
RAM 94866 94866 0 0.0
bl702 lighting-app bl702+eth FLASH 655390 656932 1542 0.2
RAM 33637 33637 0 0.0
bl702+wifi FLASH 832640 834182 1542 0.2
RAM 22361 22361 0 0.0
bl706+mfd+rpc+littlefs FLASH 1065164 1066706 1542 0.1
RAM 32285 32285 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896052 897870 1818 0.2
RAM 27024 27024 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 978840 980382 1542 0.2
RAM 24772 24772 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820292 821564 1272 0.2
RAM 120296 120296 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 829568 830896 1328 0.2
RAM 125432 125432 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 776288 777456 1168 0.2
RAM 113780 113780 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 760604 761660 1056 0.1
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 546922 548146 1224 0.2
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 578482 579962 1480 0.3
RAM 205440 205440 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 662213 663597 1384 0.2
RAM 77284 77284 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 682065 683457 1392 0.2
RAM 79924 79924 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 682065 683457 1392 0.2
RAM 79924 79924 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 639005 640381 1376 0.2
RAM 72352 72352 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 622437 623885 1448 0.2
RAM 73524 73524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 642073 643529 1456 0.2
RAM 76076 76076 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 642073 643529 1456 0.2
RAM 76076 76076 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 642213 643677 1464 0.2
RAM 76548 76548 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 661921 663393 1472 0.2
RAM 79100 79100 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 661921 663393 1472 0.2
RAM 79100 79100 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618617 620113 1496 0.2
RAM 70644 70644 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 638477 639965 1488 0.2
RAM 73276 73276 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 638477 639965 1488 0.2
RAM 73276 73276 0 0.0
efr32 lock-app BRD4187C FLASH 943876 945324 1448 0.2
RAM 132064 132064 0 0.0
BRD4338a FLASH 738192 739752 1560 0.2
RAM 206956 206956 0 0.0
window-app BRD4187C FLASH 1035984 1037464 1480 0.1
RAM 128072 128072 0 0.0
esp32 all-clusters-app c3devkit DRAM 103384 103384 0 0.0
FLASH 1804130 1808558 4428 0.2
IRAM 83846 83846 0 0.0
m5stack DRAM 121956 121956 0 0.0
FLASH 1769462 1774838 5376 0.3
IRAM 117043 117043 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2767565 2771433 3868 0.1
RAM 114536 114568 32 0.0
all-clusters-app debug unknown 5656 5656 0 0.0
FLASH 6309252 6321598 12346 0.2
RAM 531720 531720 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5433504 5440772 7268 0.1
RAM 224712 224744 32 0.0
bridge-app debug unknown 5544 5544 0 0.0
FLASH 4733024 4736994 3970 0.1
RAM 203792 203808 16 0.0
camera-app debug unknown 8856 8856 0 0.0
FLASH 6808267 6812219 3952 0.1
RAM 225512 225512 0 0.0
camera-controller debug unknown 9240 9240 0 0.0
FLASH 14062219 14062299 80 0.0
RAM 649552 649552 0 0.0
chip-tool debug unknown 6256 6256 0 0.0
FLASH 14324061 14325147 1086 0.0
RAM 636208 636208 0 0.0
chip-tool-ipv6only arm64 unknown 39608 39608 0 0.0
FLASH 12360416 1236163 1216 0.0
RAM 682304 682312 8 0.0
fabric-admin debug unknown 5936 5936 0 0.0
FLASH 12435859 12436945 1086 0.0
RAM 635568 635568 0 0.0
fabric-bridge-app debug unknown 4800 4800 0 0.0
FLASH 4558304 4561200 2896 0.1
RAM 190216 190216 0 0.0
fabric-sync debug unknown 5056 5056 0 0.0
FLASH 5699445 5702101 2656 0.0
RAM 485912 485912 0 0.0
lighting-app debug+rpc+ui unknown 6264 6264 0 0.0
FLASH 5628465 5632337 3872 0.1
RAM 207160 207192 32 0.0
lock-app debug unknown 5496 5496 0 0.0
FLASH 4798958 4802980 4022 0.1
RAM 194424 194424 0 0.0
ota-provider-app debug unknown 4840 4840 0 0.0
FLASH 4420812 4424336 3524 0.1
RAM 183640 183656 16 0.0
ota-requestor-app debug unknown 4792 4792 0 0.0
FLASH 4548556 4551732 3176 0.1
RAM 187544 187560 16 0.0
shell debug unknown 4272 4272 0 0.0
FLASH 3069708 3080252 10544 0.3
RAM 147912 147912 0 0.0
thermostat-no-ble arm64 unknown 9544 9544 0 0.0
FLASH 4215160 4219304 4144 0.1
RAM 230896 230904 8 0.0
tv-app debug unknown 5832 5832 0 0.0
FLASH 6054469 6060309 5840 0.1
RAM 610592 610592 0 0.0
tv-casting-app debug unknown 5416 5416 0 0.0
FLASH 12492285 12496797 4512 0.0
RAM 754376 754376 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 919692 922676 2984 0.3
RAM 167395 167395 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 911716 912944 1228 0.1
RAM 145639 145639 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 856300 858476 2176 0.3
RAM 141163 141163 0 0.0
nxp contact k32w0+release FLASH 590656 591696 1040 0.2
RAM 72848 72848 0 0.0
mcxw71+release FLASH 622720 623848 1128 0.2
RAM 63188 63188 0 0.0
light k32w0+release FLASH 616484 617564 1080 0.2
RAM 72144 72144 0 0.0
k32w1+release FLASH 706936 708080 1144 0.2
RAM 72036 72036 0 0.0
lock mcxw71+release FLASH 771968 773240 1272 0.2
RAM 67612 67612 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1665820 1669668 3848 0.2
RAM 212400 212400 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1570148 1572796 2648 0.2
RAM 208576 208576 0 0.0
light cy8ckit_062s2_43012 FLASH 1445164 1446596 1432 0.1
RAM 197320 197320 0 0.0
lock cy8ckit_062s2_43012 FLASH 1474444 1476004 1560 0.1
RAM 225016 225016 0 0.0
qpg lighting-app qpg6105+debug FLASH 667132 668380 1248 0.2
RAM 105200 105200 0 0.0
lock-app qpg6105+debug FLASH 625552 626864 1312 0.2
RAM 99820 99820 0 0.0
stm32 light STM32WB5MM-DK FLASH 464460 465812 1352 0.3
RAM 141504 141504 0 0.0
telink bridge-app tl7218x FLASH 697916 675928 -21988 -3.2
697916 699046 1130 0.2
RAM 101800 90652 -11148 -11.0
101800 101800 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 779370 780838 1468 0.2
RAM 50032 50032 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 769630 771098 1468 0.2
RAM 40332 40332 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 786022 759572 -26450 -3.4
786022 787490 1468 0.2
RAM 109220 97452 -11768 -10.8
109220 109220 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 707248 686688 -20560 -2.9
707248 708798 1550 0.2
RAM 62532 51500 -11032 -17.6
62532 62532 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 743430 715138 -28292 -3.8
743430 744980 1550 0.2
RAM 85720 73320 -12400 -14.5
85720 85720 0 0.0
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 711118 712668 1550 0.2
RAM 36956 36956 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 605150 607076 1926 0.3
605150 606618 1468 0.2
RAM 148616 138552 -10064 -6.8
148616 148616 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 820636 794578 -26058 -3.2
820636 822108 1472 0.2
RAM 107480 96308 -11172 -10.4
107480 107480 0 0.0
tizen all-clusters-app arm unknown 5184 5184 0 0.0
FLASH 1808628 1818880 10252 0.6
RAM 94560 94564 4 0.0
chip-tool-ubsan arm unknown 20240 20240 0 0.0
FLASH 20399374 20402174 2800 0.0
RAM 8895140 8896440 1300 0.0

@woody-apple woody-apple added this to the 1.5 Release milestone Apr 29, 2025
Copy link

PR #38515: Size comparison from a7cf007 to 82ef723

Increases above 0.2%:

platform target config section a7cf007 82ef723 change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 548254 549478 1224 0.2
lock CC3235SF_LAUNCHXL FLASH 581694 583158 1464 0.3
stm32 light STM32WB5MM-DK FLASH 464964 466324 1360 0.3
Full report (3 builds for cc32xx, stm32)
platform target config section a7cf007 82ef723 change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 548254 549478 1224 0.2
RAM 205256 205256 0 0.0
lock CC3235SF_LAUNCHXL FLASH 581694 583158 1464 0.3
RAM 205448 205448 0 0.0
stm32 light STM32WB5MM-DK FLASH 464964 466324 1360 0.3
RAM 141488 141488 0 0.0

Copy link

github-actions bot commented May 22, 2025

PR #38515: Size comparison from d761e1b to a1c6f42

Increases above 0.2%:

platform target config section d761e1b a1c6f42 change % change
cc32xx lock CC3235SF_LAUNCHXL FLASH 581694 583158 1464 0.3
efr32 lock-app BRD4338a FLASH 775744 777304 1560 0.2
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 921656 924752 3096 0.3
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 858948 861184 2236 0.3
stm32 light STM32WB5MM-DK FLASH 464964 466324 1360 0.3
tizen all-clusters-app arm FLASH 1811236 1822032 10796 0.6
Full report (41 builds for cc32xx, cyw30739, efr32, linux, nrfconnect, psoc6, qpg, stm32, telink, tizen)
platform target config section d761e1b a1c6f42 change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 548254 549478 1224 0.2
RAM 205256 205256 0 0.0
lock CC3235SF_LAUNCHXL FLASH 581694 583158 1464 0.3
RAM 205448 205448 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 661685 663053 1368 0.2
RAM 77292 77292 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 681529 682905 1376 0.2
RAM 79932 79932 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 681529 682905 1376 0.2
RAM 79932 79932 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 638469 639845 1376 0.2
RAM 72360 72360 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 623069 624565 1496 0.2
RAM 73604 73604 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 642713 644201 1488 0.2
RAM 76156 76156 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 642713 644201 1488 0.2
RAM 76156 76156 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 643989 645461 1472 0.2
RAM 76604 76604 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 663705 665177 1472 0.2
RAM 79156 79156 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 663705 665177 1472 0.2
RAM 79156 79156 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618673 620161 1488 0.2
RAM 70716 70716 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 638525 640013 1488 0.2
RAM 73348 73348 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 638525 640013 1488 0.2
RAM 73348 73348 0 0.0
efr32 lock-app BRD4187C FLASH 946772 948220 1448 0.2
RAM 132092 132092 0 0.0
BRD4338a FLASH 775744 777304 1560 0.2
RAM 173320 173320 0 0.0
window-app BRD4187C FLASH 1039456 1040936 1480 0.1
RAM 128228 128228 0 0.0
linux chip-tool-ipv6only arm64 unknown 40384 40384 0 0.0
FLASH 12592784 12594000 1216 0.0
RAM 695896 695904 8 0.0
thermostat-no-ble arm64 unknown 9744 9744 0 0.0
FLASH 4226944 4231504 4560 0.1
RAM 232360 232368 8 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 921656 924752 3096 0.3
RAM 167396 167396 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 912900 914240 1340 0.1
RAM 145640 145640 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 858948 861184 2236 0.3
RAM 141159 141159 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1670628 1674676 4048 0.2
RAM 212392 212392 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1575148 1577876 2728 0.2
RAM 208576 208576 0 0.0
light cy8ckit_062s2_43012 FLASH 1448108 1449548 1440 0.1
RAM 197304 197304 0 0.0
lock cy8ckit_062s2_43012 FLASH 1480324 1481884 1560 0.1
RAM 225016 225016 0 0.0
qpg lighting-app qpg6105+debug FLASH 667236 668500 1264 0.2
RAM 105244 105244 0 0.0
lock-app qpg6105+debug FLASH 627248 628592 1344 0.2
RAM 99872 99872 0 0.0
stm32 light STM32WB5MM-DK FLASH 464964 466324 1360 0.3
RAM 141488 141488 0 0.0
telink bridge-app tl7218x FLASH 693738 694948 1210 0.2
RAM 101904 101904 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 773166 774678 1512 0.2
RAM 50056 50056 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 770260 771772 1512 0.2
RAM 40348 40348 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 780272 760228 -20044 -2.6
RAM 109228 97476 -11752 -10.8
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 702606 688328 -14278 -2.0
RAM 62616 51584 -11032 -17.6
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 740560 716778 -23782 -3.2
RAM 85788 73396 -12392 -14.4
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 712498 714118 1620 0.2
RAM 37032 37032 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 607118 608630 1512 0.2
RAM 120000 120000 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 815582 795282 -20300 -2.5
RAM 107496 96324 -11172 -10.4
tizen all-clusters-app arm unknown 5280 5280 0 0.0
FLASH 1811236 1822032 10796 0.6
RAM 95736 95740 4 0.0
chip-tool-ubsan arm unknown 20624 20624 0 0.0
FLASH 20863694 20866486 2792 0.0
RAM 9079316 9080624 1308 0.0

Copy link

github-actions bot commented May 23, 2025

PR #38515: Size comparison from d761e1b to 22eaff4

Increases above 0.2%:

platform target config section d761e1b 22eaff4 change % change
cc32xx lock CC3235SF_LAUNCHXL FLASH 581694 583158 1464 0.3
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 921656 924764 3108 0.3
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 858948 861196 2248 0.3
stm32 light STM32WB5MM-DK FLASH 464964 466324 1360 0.3
tizen all-clusters-app arm FLASH 1811236 1822172 10936 0.6
Full report (41 builds for cc32xx, cyw30739, efr32, linux, nrfconnect, psoc6, qpg, stm32, telink, tizen)
platform target config section d761e1b 22eaff4 change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 548254 549470 1216 0.2
RAM 205256 205256 0 0.0
lock CC3235SF_LAUNCHXL FLASH 581694 583158 1464 0.3
RAM 205448 205448 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 661685 663053 1368 0.2
RAM 77292 77292 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 681529 682905 1376 0.2
RAM 79932 79932 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 681529 682905 1376 0.2
RAM 79932 79932 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 638469 639845 1376 0.2
RAM 72360 72360 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 623069 624565 1496 0.2
RAM 73604 73604 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 642713 644201 1488 0.2
RAM 76156 76156 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 642713 644201 1488 0.2
RAM 76156 76156 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 643989 645453 1464 0.2
RAM 76604 76604 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 663705 665169 1464 0.2
RAM 79156 79156 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 663705 665169 1464 0.2
RAM 79156 79156 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618673 620153 1480 0.2
RAM 70716 70716 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 638525 640005 1480 0.2
RAM 73348 73348 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 638525 640005 1480 0.2
RAM 73348 73348 0 0.0
efr32 lock-app BRD4187C FLASH 946772 948220 1448 0.2
RAM 132092 132092 0 0.0
BRD4338a FLASH 775744 777288 1544 0.2
RAM 173320 173320 0 0.0
window-app BRD4187C FLASH 1039456 1040936 1480 0.1
RAM 128228 128228 0 0.0
linux chip-tool-ipv6only arm64 unknown 40384 40392 8 0.0
FLASH 12592784 1259547 2688 0.0
RAM 695896 696224 328 0.0
thermostat-no-ble arm64 unknown 9744 9744 0 0.0
FLASH 4226944 4231488 4544 0.1
RAM 232360 232368 8 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 921656 924764 3108 0.3
RAM 167396 167396 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 912900 914268 1368 0.1
RAM 145640 145640 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 858948 861196 2248 0.3
RAM 141159 141159 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1670628 1674676 4048 0.2
RAM 212392 212392 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1575148 1577892 2744 0.2
RAM 208576 208576 0 0.0
light cy8ckit_062s2_43012 FLASH 1448108 1449548 1440 0.1
RAM 197304 197304 0 0.0
lock cy8ckit_062s2_43012 FLASH 1480324 1481884 1560 0.1
RAM 225016 225016 0 0.0
qpg lighting-app qpg6105+debug FLASH 667236 668492 1256 0.2
RAM 105244 105244 0 0.0
lock-app qpg6105+debug FLASH 627248 628592 1344 0.2
RAM 99872 99872 0 0.0
stm32 light STM32WB5MM-DK FLASH 464964 466324 1360 0.3
RAM 141488 141488 0 0.0
telink bridge-app tl7218x FLASH 676982 678186 1204 0.2
693738 694942 1204 0.2
RAM 90764 90764 0 0.0
101904 101904 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 773166 774672 1506 0.2
RAM 50056 50056 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 770260 771766 1506 0.2
RAM 40348 40348 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 758716 760222 1506 0.2
780272 781778 1506 0.2
RAM 97476 97476 0 0.0
109228 109228 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 686708 688322 1614 0.2
702606 704220 1614 0.2
RAM 51584 51584 0 0.0
62616 62616 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 715158 716772 1614 0.2
740560 742174 1614 0.2
RAM 73396 73396 0 0.0
85788 85788 0 0.0
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 712498 714112 1614 0.2
RAM 37032 37032 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 607052 608558 1506 0.2
607118 608624 1506 0.2
RAM 106724 106724 0 0.0
120000 120000 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 793766 795276 1510 0.2
815582 817092 1510 0.2
RAM 96324 96324 0 0.0
107496 107496 0 0.0
tizen all-clusters-app arm unknown 5280 5280 0 0.0
FLASH 1811236 1822172 10936 0.6
RAM 95736 95740 4 0.0
chip-tool-ubsan arm unknown 20624 20628 4 0.0
FLASH 20863694 20872222 8528 0.0
RAM 9079316 9082672 3356 0.0

@jadhavrohit924 jadhavrohit924 force-pushed the fix/server/shutdown branch 2 times, most recently from f3b5876 to 4153b41 Compare May 29, 2025 07:38
Copy link

github-actions bot commented May 29, 2025

PR #38515: Size comparison from 68fb9b5 to 4153b41

Increases above 0.2%:

platform target config section 68fb9b5 4153b41 change % change
bl702 lighting-app bl702+eth FLASH 655436 657314 1878 0.3
cc32xx lock CC3235SF_LAUNCHXL FLASH 581726 583206 1480 0.3
efr32 lock-app BRD4338a FLASH 776184 777744 1560 0.2
stm32 light STM32WB5MM-DK FLASH 465044 466404 1360 0.3
telink lighting-app-ota-factory-data tlsr9118bdk40d FLASH 600662 602174 1512 0.3
Full report (27 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, qpg, stm32, telink)
platform target config section 68fb9b5 4153b41 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1102344 1104168 1824 0.2
RAM 179114 179114 0 0.0
bl702 lighting-app bl702+eth FLASH 655436 657314 1878 0.3
RAM 135073 135073 0 0.0
bl702+wifi FLASH 832950 834572 1622 0.2
RAM 124637 124637 0 0.0
bl706+mfd+rpc+littlefs FLASH 1065500 1067122 1622 0.2
RAM 117461 117461 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 895058 896700 1642 0.2
RAM 105772 105772 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 978780 980402 1622 0.2
RAM 109956 109956 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820580 821844 1264 0.2
RAM 120288 120288 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 832184 833496 1312 0.2
RAM 125440 125440 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 777704 778872 1168 0.2
RAM 113844 113844 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 762036 763092 1056 0.1
RAM 114052 114052 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 548278 549486 1208 0.2
RAM 205256 205256 0 0.0
lock CC3235SF_LAUNCHXL FLASH 581726 583206 1480 0.3
RAM 205448 205448 0 0.0
efr32 lock-app BRD4187C FLASH 946860 948308 1448 0.2
RAM 132092 132092 0 0.0
BRD4338a FLASH 776184 777744 1560 0.2
RAM 173320 173320 0 0.0
window-app BRD4187C FLASH 1039848 1041328 1480 0.1
RAM 128228 128228 0 0.0
qpg lighting-app qpg6105+debug FLASH 667316 668580 1264 0.2
RAM 105244 105244 0 0.0
lock-app qpg6105+debug FLASH 627336 628672 1336 0.2
RAM 99872 99872 0 0.0
stm32 light STM32WB5MM-DK FLASH 465044 466404 1360 0.3
RAM 141488 141488 0 0.0
telink bridge-app tl7218x FLASH 694258 695468 1210 0.2
RAM 102164 102164 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 766692 768204 1512 0.2
RAM 50316 50316 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 767724 769236 1512 0.2
RAM 40608 40608 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 773802 757692 -16110 -2.1
RAM 109488 97736 -11752 -10.7
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 703152 688874 -14278 -2.0
RAM 62876 51844 -11032 -17.5
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 741106 717324 -23782 -3.2
RAM 86048 73656 -12392 -14.4
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 713044 714664 1620 0.2
RAM 37292 37292 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 600662 602174 1512 0.3
RAM 120260 120260 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 809116 810632 1516 0.2
RAM 107756 107756 0 0.0

Copy link

github-actions bot commented May 29, 2025

PR #38515: Size comparison from 68fb9b5 to 1d4cf19

Increases above 0.2%:

platform target config section 68fb9b5 1d4cf19 change % change
bl702 lighting-app bl702+eth FLASH 655436 657314 1878 0.3
cc32xx lock CC3235SF_LAUNCHXL FLASH 581726 583206 1480 0.3
esp32 all-clusters-app c3devkit FLASH 1810204 1814976 4772 0.3
m5stack FLASH 1776170 1781854 5684 0.3
linux shell debug FLASH 3038268 3049452 11184 0.4
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 921916 924952 3036 0.3
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 859092 861260 2168 0.3
stm32 light STM32WB5MM-DK FLASH 465044 466404 1360 0.3
telink lighting-app-ota-factory-data tlsr9118bdk40d FLASH 604530 606042 1512 0.3
600662 602174 1512 0.3
tizen all-clusters-app arm FLASH 1821232 1832020 10788 0.6
Full report (75 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 68fb9b5 1d4cf19 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1102344 1104168 1824 0.2
RAM 179114 179114 0 0.0
bl702 lighting-app bl702+eth FLASH 655436 657314 1878 0.3
RAM 135073 135073 0 0.0
bl702+wifi FLASH 832950 834572 1622 0.2
RAM 124637 124637 0 0.0
bl706+mfd+rpc+littlefs FLASH 1065500 1067122 1622 0.2
RAM 117461 117461 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 895058 896700 1642 0.2
RAM 105772 105772 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 978780 980402 1622 0.2
RAM 109956 109956 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820580 821844 1264 0.2
RAM 120288 120288 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 832184 833496 1312 0.2
RAM 125440 125440 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 777704 778872 1168 0.2
RAM 113844 113844 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 762036 763092 1056 0.1
RAM 114052 114052 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 548278 549486 1208 0.2
RAM 205256 205256 0 0.0
lock CC3235SF_LAUNCHXL FLASH 581726 583206 1480 0.3
RAM 205448 205448 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 662509 663893 1384 0.2
RAM 77552 77552 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 682361 683729 1368 0.2
RAM 80192 80192 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 682361 683729 1368 0.2
RAM 80192 80192 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 639293 640669 1376 0.2
RAM 72620 72620 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 623909 625405 1496 0.2
RAM 73864 73864 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 643537 645041 1504 0.2
RAM 76416 76416 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 643537 645041 1504 0.2
RAM 76416 76416 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 644837 646301 1464 0.2
RAM 76864 76864 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 664545 666009 1464 0.2
RAM 79416 79416 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 664545 666009 1464 0.2
RAM 79416 79416 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 619489 620977 1488 0.2
RAM 70976 70976 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 639341 640837 1496 0.2
RAM 73608 73608 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 639341 640837 1496 0.2
RAM 73608 73608 0 0.0
efr32 lock-app BRD4187C FLASH 946860 948308 1448 0.2
RAM 132092 132092 0 0.0
BRD4338a FLASH 776184 777744 1560 0.2
RAM 173320 173320 0 0.0
window-app BRD4187C FLASH 1039848 1041328 1480 0.1
RAM 128228 128228 0 0.0
esp32 all-clusters-app c3devkit DRAM 103624 103624 0 0.0
FLASH 1810204 1814976 4772 0.3
IRAM 83846 83846 0 0.0
m5stack DRAM 122492 122492 0 0.0
FLASH 1776170 1781854 5684 0.3
IRAM 117043 117043 0 0.0
linux air-purifier-app debug unknown 4760 4760 0 0.0
FLASH 2727968 2732146 4178 0.2
RAM 115856 115888 32 0.0
all-clusters-app debug unknown 5600 5600 0 0.0
FLASH 6328802 6342086 13284 0.2
RAM 536344 536344 0 0.0
all-clusters-minimal-app debug unknown 5464 5464 0 0.0
FLASH 5411810 5419536 7726 0.1
RAM 226784 226784 0 0.0
bridge-app debug unknown 5496 5496 0 0.0
FLASH 4745216 4749268 4052 0.1
RAM 206440 206440 0 0.0
camera-app debug unknown 8824 8824 0 0.0
FLASH 6853755 6858171 4416 0.1
RAM 227728 227728 0 0.0
camera-controller debug unknown 9168 9168 0 0.0
FLASH 14263099 14263163 64 0.0
RAM 657224 657224 0 0.0
chip-tool debug unknown 6112 6112 0 0.0
FLASH 14606109 14607229 1120 0.0
RAM 654104 654104 0 0.0
chip-tool-ipv6only arm64 unknown 40864 40864 0 0.0
FLASH 12583080 12584296 1216 0.0
RAM 701104 701112 8 0.0
fabric-admin debug unknown 5800 5800 0 0.0
FLASH 12687435 12688555 1120 0.0
RAM 653880 653880 0 0.0
fabric-bridge-app debug unknown 4736 4736 0 0.0
FLASH 4530298 4533850 3552 0.1
RAM 192120 192120 0 0.0
fabric-sync debug unknown 4984 4984 0 0.0
FLASH 5658949 5662309 3360 0.1
RAM 488216 488216 0 0.0
lighting-app debug+rpc+ui unknown 6208 6208 0 0.0
FLASH 5592529 5596641 4112 0.1
RAM 208608 208608 0 0.0
lock-app debug unknown 5432 5432 0 0.0
FLASH 4778756 4783278 4522 0.1
RAM 195936 195936 0 0.0
ota-provider-app debug unknown 4776 4776 0 0.0
FLASH 4382380 4386140 3760 0.1
RAM 184776 184792 16 0.0
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4510016 4513428 3412 0.1
RAM 188696 188712 16 0.0
shell debug unknown 4240 4240 0 0.0
FLASH 3038268 3049452 11184 0.4
RAM 149920 149920 0 0.0
thermostat-no-ble arm64 unknown 9672 9672 0 0.0
FLASH 4187760 4192304 4544 0.1
RAM 231936 231944 8 0.0
tv-app debug unknown 5760 5760 0 0.0
FLASH 6024885 6030997 6112 0.1
RAM 612480 612480 0 0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 12740637 12745741 5104 0.0
RAM 765824 765840 16 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 921916 924952 3036 0.3
RAM 167532 167532 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 913132 914368 1236 0.1
RAM 145776 145776 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 859092 861260 2168 0.3
RAM 141159 141159 0 0.0
nxp contact k32w0+release FLASH 592296 593392 1096 0.2
RAM 72920 72920 0 0.0
mcxw71+release FLASH 625080 626272 1192 0.2
RAM 63260 63260 0 0.0
light k32w0+release FLASH 618372 619500 1128 0.2
RAM 72216 72216 0 0.0
k32w1+release FLASH 709608 710792 1184 0.2
RAM 72116 72116 0 0.0
lock mcxw71+release FLASH 776248 777568 1320 0.2
RAM 67676 67676 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1671716 1675692 3976 0.2
RAM 212528 212528 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1576052 1578716 2664 0.2
RAM 208576 208576 0 0.0
light cy8ckit_062s2_43012 FLASH 1448500 1449956 1456 0.1
RAM 197304 197304 0 0.0
lock cy8ckit_062s2_43012 FLASH 1480780 1482340 1560 0.1
RAM 225016 225016 0 0.0
qpg lighting-app qpg6105+debug FLASH 667316 668580 1264 0.2
RAM 105244 105244 0 0.0
lock-app qpg6105+debug FLASH 627336 628672 1336 0.2
RAM 99872 99872 0 0.0
stm32 light STM32WB5MM-DK FLASH 465044 466404 1360 0.3
RAM 141488 141488 0 0.0
telink bridge-app tl7218x FLASH 677502 678712 1210 0.2
694258 695468 1210 0.2
RAM 91024 91024 0 0.0
102164 102164 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 766692 768204 1512 0.2
RAM 50316 50316 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 767724 769236 1512 0.2
RAM 40608 40608 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 756180 757692 1512 0.2
773802 775314 1512 0.2
RAM 97736 97736 0 0.0
109488 109488 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 687254 688874 1620 0.2
703152 704772 1620 0.2
RAM 51844 51844 0 0.0
62876 62876 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 715704 717324 1620 0.2
741106 742726 1620 0.2
RAM 73656 73656 0 0.0
86048 86048 0 0.0
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 713044 714664 1620 0.2
RAM 37292 37292 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 604530 606042 1512 0.3
600662 602174 1512 0.3
RAM 106984 106984 0 0.0
120260 120260 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 791224 792740 1516 0.2
809116 810632 1516 0.2
RAM 96584 96584 0 0.0
107756 107756 0 0.0
tizen all-clusters-app arm unknown 5292 5292 0 0.0
FLASH 1821232 1832020 10788 0.6
RAM 97224 97228 4 0.0
chip-tool-ubsan arm unknown 20800 20800 0 0.0
FLASH 21043422 21046294 2872 0.0
RAM 9170488 9171788 1300 0.0

@andy31415
Copy link
Contributor

/gemini review

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request addresses a critical gap in the Matter server shutdown process by introducing a more structured approach to shutting down the data model and associated components. The changes correctly integrate cluster-specific shutdown callbacks and ensure active interactions are cleaned up before core data model structures are dismantled. This is a significant improvement for the stability and correctness of the server shutdown flow.

Summary of Findings

  • Incomplete Scenes Cluster Shutdown: The existing shutdown logic in scenes-server.cpp and the Shutdown() call in the ScenesServer destructor (scenes-server.h) have been commented out with TODOs. This leaves the Scenes cluster potentially not cleaning up its persistent storage or other resources correctly during shutdown, which is a high-severity issue for a PR focused on fixing shutdown flows.
  • Complex Resource Management Logic: Significant logic has been added to InteractionModelEngine.cpp for managing resource pools (read/subscribe handlers, paths) based on fabric quotas, including eviction logic. While necessary for resource constrained devices, this is complex and requires thorough testing to ensure correctness and handle edge cases during resource allocation and eviction.
  • Placeholder Shutdown Callbacks: Empty Matter*PluginServerShutdownCallback functions were added for various clusters in util.cpp and camera-av-settings-user-level-management-server.cpp. These are placeholders and need to be implemented by the respective cluster owners if specific shutdown logic is required for those clusters.

Merge Readiness

The pull request introduces crucial improvements to the server shutdown process. However, the commented-out shutdown logic in the Scenes cluster represents a high-severity issue that needs to be addressed before merging. Once the Scenes cluster shutdown is properly implemented or verified, and the TODOs are resolved, the PR should be ready to merge. I am unable to approve this pull request directly; please have other reviewers approve this code before merging.

Comment on lines +1156 to +1164
// TODO: Remove the commented code.
// MatterScenesManagementClusterServerShutdownCallback was not being called before and in the sceneTable->RemoveEndpoint();
// it removes the SceneTableEntry from the persistent storage.
// uint16_t endpointTableSize = 0;
// VerifyOrReturn(Status::Success == Attributes::SceneTableSize::Get(endpoint, &endpointTableSize));

// // Get Scene Table Instance
// SceneTable * sceneTable = scenes::GetSceneTableImpl(endpoint, endpointTableSize);
// sceneTable->RemoveEndpoint();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The existing shutdown logic for the Scenes cluster has been commented out, with a TODO indicating it needs to be removed. However, this logic (sceneTable->RemoveEndpoint()) seems crucial for cleaning up the SceneTableEntry from persistent storage during shutdown. Leaving this commented out means the Scenes cluster might not be cleaning up its resources correctly, which could lead to issues on subsequent server startups or resource leaks. Could you clarify if this cleanup is being handled elsewhere in the new shutdown flow, or if the commented-out code needs to be re-implemented or replaced?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TLDR: why are we checking in commented out code?

Comment on lines +111 to +113
// TODO: Remove the commented code.
// ScenesServer::Shutdown is being called from MatterScenesManagementPluginServerShutdownCallback.
// Shutdown();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Similar to the .cpp file, the call to Shutdown() in the ScenesServer destructor has been commented out with a TODO. If ScenesServer::Shutdown() contains necessary cleanup logic beyond what's handled by the new MatterScenesManagementPluginServerShutdownCallback, removing this call could lead to resource leaks or incorrect state on shutdown. Is the logic previously in ScenesServer::Shutdown() now handled by the new callback or elsewhere?

@lpbeliveau-silabs
Copy link
Contributor

Scenes are expected to be persisted on device power cycle, so there might have been a misunderstanding in the Shudtown behavior on my part.

Initially, I first wrote the scenes-server shutdown method having dynamic endpoints in mind, meaning the Shutdown would only be called when an endpoint would remove an endpoint.

If shutdown is indeed meant to happen between device power cycle, then the scenes-server shutdown logic indeed needs to be moved to a different handler.

@jadhavrohit924
Copy link
Contributor Author

@lpbeliveau-silabs Thank you for the confirmation. Is it okay if I remove that code in this PR? Will you be following up on this separately?

@jadhavrohit924 jadhavrohit924 changed the title Fix the matter server shutdown flow and add DataModelShutdown [Server::Shutdown] Fix the matter server shutdown sequence, introduced few APIs to do *ClusterServerShutdown so that we can reinitialise the matter server without reboot on embedded platforms. May 30, 2025
@@ -340,6 +340,39 @@ class InteractionModelEngine : public Messaging::UnsolicitedMessageHandler,
#endif // CHIP_CONFIG_SUBSCRIPTION_TIMEOUT_RESUMPTION
#endif // CHIP_CONFIG_PERSIST_SUBSCRIPTIONS

/** Previously, ShutdowActiveReads() was only available in unit test builds via `#if CONFIG_BUILD_FOR_HOST_UNIT_TEST`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is ShutdowActiveReads?

@@ -340,6 +340,39 @@ class InteractionModelEngine : public Messaging::UnsolicitedMessageHandler,
#endif // CHIP_CONFIG_SUBSCRIPTION_TIMEOUT_RESUMPTION
#endif // CHIP_CONFIG_PERSIST_SUBSCRIPTIONS

/** Previously, ShutdowActiveReads() was only available in unit test builds via `#if CONFIG_BUILD_FOR_HOST_UNIT_TEST`.
* However, we now require proper cleanup of active read handlers during the application's shutdown sequence,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand why we are making this API public. We already shut down the read handlers in InteractionModelEngine::Shutdown. Why do we need a separate way of doing it? That sounds like something is just broken in our shutdown/startup sequencing.

As far as ReadClients: actual reads get shut down by shutting down sessions/exchanges, and subscriptions are shut down in InteractionModelEngine::Shutdown already, no? So again, this feels like a problem in our sequencing. But even if not, ShutdownAllSubscriptions is public API on IM engine.

// Get Scene Table Instance
SceneTable * sceneTable = scenes::GetSceneTableImpl(endpoint, endpointTableSize);
sceneTable->RemoveEndpoint();
// TODO: Remove the commented code.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know this code leads to incorrect behavior on shutdown, but not having this code leads to incorrect behavior on endpoint removal (storage leaks). So just commenting it out is breaking critical things, and chances are we need to fix that before we can land this PR.

Have you talked to the authors of this code about this situation, like we discussed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes I have talked with the owner @lpbeliveau-silabs. He dropped the comment #38515 (comment)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, but who is doing that "moved to a different handler" bit and when? Because we can't ship things in the state that we will have after this PR....

Copy link
Contributor

@lpbeliveau-silabs lpbeliveau-silabs Jun 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll try to catch up with the changes and address this shortly. So to confirm, this specific behavior is for embedded systems that shutdown endpoints during power cycling, but don't necessarily remove them? Just want to make sure I got this right before implementing it. Will open a PR when I figure out what this "different handler" might be.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking into the SDK, it seems like the previous intended behavior of Shutdown WAS to handle endpoints being removed. This PR is modifying this behavior and I do not think that this is a "Scenes is holding back the PR" situation. The distinction between Endpoint Shutdown vs Removal should either be added to the handler or we need to have some code responsible for cleanup on endpoint removal implemented along this change.

* This is required before resetting the DataModelProvider, as ongoing reads may access it
* and lead to crashes or undefined behavior.
**/
app::InteractionModelEngine::GetInstance()->ShutdownActiveReads();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again: during startup we first set the DM provider (line 320 in this diff), then do InteractionModelEngine::Init (line 393), right?

So during shutdown we should be doing InteractionModelEngine::Shutdown before clearing the DM provider, I would think. That's what #38515 was about. But for some reason, instead of moving SetDataModelProvider(nullptr) to the right place in the shutdown sequence we ended up adding this extra shutdown step....

It's not just reads that touch the DM provider, anyway (commands and writes do too), so you really have to InteractionModelEngine::Shutdown before clearing the provider.

If we did that, InteractionModelEngine::Shutdown would clear any active read handlers, as it already does. And clear subscription clients. Which would leave read clients.... Those would get shut down when we expire their sessions, but if we want to more proactively expire them, we could do that in the IM engine shutdown. Either way, read clients don't touch DM provider, right?

@lpbeliveau-silabs
Copy link
Contributor

It seems only Scenes was relying on this, but I think other clusters should clean their storage on endpoint departure (groups for instance). Do we have a replacement mechanism for dynamical endpoint shutdown, as in going away, vs the shutdown we are implementing in this PR?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

7 participants